Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refresh Arch for Stratis 3.5.8 #5144

Merged
merged 2 commits into from
Aug 24, 2023
Merged

Conversation

cockpituous
Copy link
Contributor

@cockpituous cockpituous commented Aug 24, 2023

To unblock cockpit-project/cockpit#19079

  • image-refresh arch

@mvollmer mvollmer added the bot label Aug 24, 2023
@cockpituous cockpituous changed the title Refresh Arch for Stratis 3.5.8 WIP: rhos-01-30: [no-test] Refresh Arch for Stratis 3.5.8 Aug 24, 2023
@cockpituous
Copy link
Contributor

cockpituous pushed a commit that referenced this pull request Aug 24, 2023
@cockpituous cockpituous force-pushed the image-refresh-arch-20230824-065145 branch from 8cd6051 to 1fb0beb Compare August 24, 2023 06:51
@cockpituous cockpituous changed the title WIP: rhos-01-30: [no-test] Refresh Arch for Stratis 3.5.8 Refresh Arch for Stratis 3.5.8 Aug 24, 2023
@cockpituous
Copy link
Contributor

@jelly
Copy link
Member

jelly commented Aug 24, 2023

error: Failed to attach device from /tmp/usbhostedxml
error: internal error: unable to execute QEMU command 'device_add': 'usb-host' is not a valid device model name

I think this might be a case of the latest QEMU split packaging which breaks out CI.

Removed:
  qemu-audio-spice (8.0.3-1)
  qemu-block-curl (8.0.3-1)
  qemu-block-dmg (8.0.3-1)
  qemu-block-nfs (8.0.3-1)
  qemu-block-ssh (8.0.3-1)
  qemu-chardev-spice (8.0.3-1)
  qemu-hw-display-qxl (8.0.3-1)
  qemu-hw-display-virtio-gpu (8.0.3-1)
  qemu-hw-display-virtio-gpu-gl (8.0.3-1)
  qemu-hw-display-virtio-gpu-pci (8.0.3-1)
  qemu-hw-display-virtio-gpu-pci-gl (8.0.3-1)
  qemu-hw-display-virtio-vga (8.0.3-1)
  qemu-hw-display-virtio-vga-gl (8.0.3-1)
  qemu-hw-s390x-virtio-gpu-ccw (8.0.3-1)
  qemu-hw-usb-host (8.0.3-1)
  qemu-hw-usb-redirect (8.0.3-1)
  qemu-hw-usb-smartcard (8.0.3-1)
  qemu-pr-helper (8.0.3-1)
  qemu-tools (8.0.3-1)
  qemu-ui-curses (8.0.3-1)
  qemu-ui-opengl (8.0.3-1)
  qemu-ui-spice-app (8.0.3-1)
  qemu-ui-spice-core (8.0.3-1)

And confirmed.

I don't think we want to depend on the full qemu-desktop also as it makes the full image bigger so maybe we should add:

qemu-audio-spice
qemu-ui-spice-app
qemu-hw-usb-host
qemu-hw-usb-redirect
qemu-tools

@mvollmer
Copy link
Member Author

I think this might be a case of the latest QEMU split packaging which breaks out CI.

This is annoying.. Does it also break cockpit-machines for users?

I'll add you short lists of deps.

@mvollmer
Copy link
Member Author

I think this might be a case of the latest QEMU split packaging which breaks out CI.

This is annoying.. Does it also break cockpit-machines for users?

I'll add you short lists of deps.

On second thought, let's use qemu-desktop and be done with this package fiddling. c-machines is a desktop-like UI for qemu.

@mvollmer mvollmer force-pushed the image-refresh-arch-20230824-065145 branch from 1fb0beb to 0ea2fb6 Compare August 24, 2023 07:45
@cockpituous cockpituous changed the title Refresh Arch for Stratis 3.5.8 WIP: rhos-01-31: [no-test] Refresh Arch for Stratis 3.5.8 Aug 24, 2023
@martinpitt
Copy link
Member

@mvollmer We avoid the qemu-desktop counterpart in Debian/Fedora because that pulls in a gazillion X.org, mesa, driver, etc. packages which inflate the image. So if we can avoid it at all, that'd be better.

@cockpituous
Copy link
Contributor

@cockpituous cockpituous changed the title WIP: rhos-01-31: [no-test] Refresh Arch for Stratis 3.5.8 Refresh Arch for Stratis 3.5.8 Aug 24, 2023
@cockpituous
Copy link
Contributor

@jelly
Copy link
Member

jelly commented Aug 24, 2023

Journal extracted to TestMachinesCreate-testCreateUrlSource-arch-127.0.0.2-2201-FAIL.log.gz
bash: line 1: rpm: command not found
bash: line 2: dpkg-query: command not found
CDP: {"source":"rendering","level":"info","text":"Autofocus processing was blocked because a document already has a focused element.","timestamp":1692866167662.3289,"url":"http://127.0.0.2:9091/machines#/vms"}
Warning: Stopping libvirtd.service, but it can still be activated by:
  libvirtd.socket
  libvirtd-admin.socket
  libvirtd-ro.socket
Traceback (most recent call last):
  File "/home/jelle/projects/cockpit-machines/./test/check-machines-create", line 725, in testCreateUrlSource
    runner.createTest(TestMachinesCreate.VmDialog(self, sourceType='url',
  File "/home/jelle/projects/cockpit-machines/./test/check-machines-create", line 1721, in createTest
    self._tryCreate(dialog) \
    ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/jelle/projects/cockpit-machines/./test/check-machines-create", line 1515, in _tryCreate
    self._create(dialog)
  File "/home/jelle/projects/cockpit-machines/./test/check-machines-create", line 1507, in _create
    b.wait_text(f"#vm-{dialog.name}-{dialog.connection}-state",
  File "/home/jelle/projects/cockpit-machines/test/common/testlib.py", line 660, in wait_text
    self.wait_js_cond("ph_text_is(%s,%s)" % (jsquote(selector), jsquote(text)),
  File "/home/jelle/projects/cockpit-machines/test/common/testlib.py", line 587, in wait_js_cond
    self.raise_cdp_exception("timeout\nwait_js_cond", cond, result["exceptionDetails"], trailer)
  File "/home/jelle/projects/cockpit-machines/test/common/testlib.py", line 293, in raise_cdp_exception
    raise Error("%s(%s): %s" % (func, arg, msg))
testlib.Error: timeout
wait_js_cond(ph_text_is("#vm-subVmTestCreate7-system-state","Running")): Uncaught (in promise) Error: #vm-subVmTestCreate7-system-state not found
cdp: {'source': 'network', 'level': 'error', 'text': 'Failed to load resource: the server responded with a status of 401 (Authentication failed)', 'timestamp': 1692866122048.787, 'url': 'http://127.0.0.2:9091/cockpit/login', 'networkRequestId': '140871.12'}
cdp: {'source': 'network', 'level': 'error', 'text': 'Failed to load resource: the server responded with a status of 404 (ERROR)', 'timestamp': 1692866123528.806, 'url': 'http://127.0.0.2:9091/cockpit/@localhost/*/po.js', 'networkRequestId': '140871.19'}
cdp: {'source': 'security', 'level': 'error', 'text': "Refused to execute script from 'http://127.0.0.2:9091/cockpit/@localhost/*/po.js' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.", 'timestamp': 1692866123570.465, 'url': 'http://127.0.0.2:9091/machines'}
error: Scrollbar test exception: TypeError: Cannot read properties of null (reading 'appendChild')
log: osinfo-detect command failed:  (process:1643): GLib-GIO-WARNING **: 08:35:36.973: Can't find module 'gvfs' specified in GIO_USE_VFS
Traceback (most recent call last):
  File "<string>", line 28, in <module>
gi.repository.GLib.GError: osinfo-tree-error: URL protocol is not supported (1)
log: osinfo-detect command failed:  (process:1808): GLib-GIO-WARNING **: 08:35:49.183: Can't find module 'gvfs' specified in GIO_USE_VFS
Traceback (most recent call last):
  File "<string>", line 22, in <module>
gi.repository.GLib.GError: osinfo-media-error: No volume descriptors (0)
error: spawn 'vm creation' returned error: "{"problem":null,"exit_status":1,"exit_signal":null,"message":"ERROR    internal error: process exited while connecting to monitor: 2023-08-24T08:35:51.044787Z qemu-system-x86_64: -blockdev {\"driver\":\"https\",\"url\":\"https://archive.fedoraproject.org:443/pub/archive/fedora/linux/releases/28/Server/x86_64/os/images/boot.iso\",\"node-name\":\"libvirt-1-storage\",\"auto-read-only\":true,\"discard\":\"unmap\"}: Unknown driver 'https'\nDomain installation does not appear to have been successful.\nIf it was, you can restart your domain by running:\n  virsh --connect qemu:///system start subVmTestCreate7\notherwise, please restart your installation.\nTraceback (most recent call last):\n  File \"<stdin>\", line 348, in <module>\n  File \"<stdin>\", line 250, in create_vm\n  File \"/usr/lib/python3.11/subprocess.py\", line 466, in check_output\n    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.11/subprocess.py\", line 571, in run\n    raise CalledProcessError(retcode, process.args,\nsubprocess.CalledProcessError: Command '['virt-install', '--connect', 'qemu:///system', '--quiet', '--os-variant', 'fedora28', '--memory', '128', '--name', 'subVmTestCreate7', '--check', 'path_in_use=off', '--wait', '-1', '--noautoconsole', '--disk', 'none', '--graphics', 'vnc,listen=127.0.0.1', '--graphics', 'spice,listen=::1', '--cdrom', 'https://archive.fedoraproject.org/pub/archive/fedora/linux/releases/28/Server/x86_64/os/images/boot.iso']' returned non-zero exit status 1."}"

# Result testCreateUrlSource (__main__.TestMachinesCreate.testCreateUrlSource) failed
# 1 TEST FAILED [65s on t14s]
[jelle@t14s][~/projects/cockpit-machines]%

We need one more dep

@jelly
Copy link
Member

jelly commented Aug 24, 2023

The tests pass here with:

diff --git a/images/scripts/arch.setup b/images/scripts/arch.setup
index 32374e78..e086fb82 100755
--- a/images/scripts/arch.setup
+++ b/images/scripts/arch.setup
@@ -54,6 +54,12 @@ firewalld \
 openssh \
 podman \
 qemu \
+qemu-tools \
+qemu-audio-spice \
+qemu-ui-spice-app \
+qemu-hw-usb-host \
+qemu-hw-usb-redirect \
+qemu-block-curl \
 nginx \
 redis \
 openbsd-netcat \

So we can avoid a lot of dependencies but not mesa/llvm sadly :( That is pulled in by spice.

@mvollmer
Copy link
Member Author

The tests pass here with:

Alright, but what does this mean for users of cockpit-machines? Are they now broken?

Just "qemu" is now missing too many necessary packages.
@mvollmer mvollmer force-pushed the image-refresh-arch-20230824-065145 branch from 0ea2fb6 to 0860cc4 Compare August 24, 2023 09:04
@cockpituous cockpituous changed the title Refresh Arch for Stratis 3.5.8 WIP: 4-cockpit-8: [no-test] Refresh Arch for Stratis 3.5.8 Aug 24, 2023
@jelly
Copy link
Member

jelly commented Aug 24, 2023

The tests pass here with:

Alright, but what does this mean for users of cockpit-machines? Are they now broken?

I should check the PKGBUILD 👀

@cockpituous
Copy link
Contributor

@cockpituous cockpituous changed the title WIP: 4-cockpit-8: [no-test] Refresh Arch for Stratis 3.5.8 Refresh Arch for Stratis 3.5.8 Aug 24, 2023
@cockpituous
Copy link
Contributor

Copy link
Member

@martinpitt martinpitt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Assuming green, thanks!

@jelly
Copy link
Member

jelly commented Aug 24, 2023

Assuming green, thanks!

Not so fast!

/updates/updates.js: couldn't parse http-stream1 header payload: JSON data must be UTF-8 encoded
cockpit_web_response_queue: assertion 'self->complete == FALSE' failed
cockpit_web_response_queue: assertion 'self->complete == FALSE' failed
cockpit_web_response_queue: assertion 'self->complete == FALSE' failed

Hmmm, is this a flake? Re-triggered as that should be fast.

@mvollmer mvollmer merged commit ed94742 into main Aug 24, 2023
11 checks passed
@mvollmer mvollmer deleted the image-refresh-arch-20230824-065145 branch August 24, 2023 10:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants